import java.util.ArrayList;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: LIUYANJIAO
 * Date: 2025-03-13
 * Time: 22:47
 */
public class test2 {
    public int rotApple (ArrayList<ArrayList<Integer>> grid) {
        boolean fog = true;
        int count = 0;
        while (fog) {
            fog = false;
            for (int i = 0; i < grid.size(); i++) {
                for (int j = 0; j < grid.get(i).size(); j++) {
                    if (grid.get(i).get(j) == 2) {
                        //遍历上下左右四个方向
                        if (i > 0 && grid.get(i - 1).get(j) == 1) {
                            grid.get(i - 1).set(j, -1);
                            fog = true;
                        }
                        if (j > 0 && grid.get(i).get(j - 1) == 1) {
                            grid.get(i).set(j - 1, -1);
                            fog = true;
                        }
                        if (i < grid.size() - 1 && grid.get(i + 1).get(j) == 1) {
                            grid.get(i + 1).set(j, -1);
                            fog = true;
                        }
                        if (j < grid.get(i).size() - 1 && grid.get(i).get(j + 1) == 1) {
                            grid.get(i).set(j + 1, -1);
                            fog = true;
                        }
                    }
                }
            }
            count++;
            //将所有的-1改为2
            for (int i = 0; i < grid.size(); i++) {
                for (int j = 0; j < grid.get(i).size(); j++) {
                    if (grid.get(i).get(j) == -1) {
                        grid.get(i).set(j, 2);
                    }
                }
            }
        }
        for (int i = 0; i < grid.size(); i++) {
            if (grid.get(i).contains(1)) {
                System.out.println(-1);
                return -1;

            }
        }

            System.out.println(count-1);
            return count-1;

    }

    public static void main(String[] args) {
        ArrayList<ArrayList<Integer>> grid = new ArrayList<>();
        grid.add(new ArrayList<Integer>());
        grid.add(new ArrayList<Integer>());
        grid.add(new ArrayList<Integer>());
        grid.get(0).add(2);
        grid.get(0).add(2);
        grid.get(0).add(2);
        grid.get(1).add(0);
        grid.get(1).add(2);
        grid.get(1).add(2);
        grid.get(2).add(2);
        grid.get(2).add(2);
        grid.get(2).add(2);
        test2 t = new test2();
        t.rotApple(grid);
    }
}
